package pe.gob.osce.sirenas.model.jpa;

/**
*  Resumen				
*  Objeto		       	: Persona.java
*  Descripción		  	: .
*  Fecha de Creación    : 26/02/2015.
*  Pry de Creación 		: RNA/RNS.
*  Autor			   	: Alberto Vargas
*  -------------------------------------------------------------------------------------
*  Modificaciones
*  Motivo	            Fecha           Nombre         				Descripción
*  -------------------------------------------------------------------------------------
*/

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="AUD_REG_HISTORIAL_ESTADO",schema="RNAS")
@SequenceGenerator(name="SQ_ID_HISTORIAL_ESTADO",sequenceName="RNAS.SQ_ID_HISTORIAL_ESTADO", allocationSize=1)
public class HistorialEstado implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -1069811289074054498L;
	@Id
	@GeneratedValue(strategy =	GenerationType.SEQUENCE, generator="SQ_ID_HISTORIAL_ESTADO")
	@Column(name="N_ID_HIST_ESTADO")
	private Long idHistEstado;
	@Column(name="N_ID_FICHA")
	private Long idFicha;
	@Column(name="N_IND_VIGENTE")
	private Boolean indVigente;
	@Column(name="N_ID_ESTADO")
	private Long idEstado;
	@Column(name="D_FEC_INICIO")
	private Date fecInicio;
	@Column(name="D_FEC_FIN")
	private Date fecFin;
	@Column(name="N_ID_HIST_ANTERIOR")
	private Long idHistAnterior;
	@Column(name="N_ID_INCIDENCIA")
	private Long idIncidencia;	
	
	@Column(name="N_IND_ESTADO")
	private Long estado;
	@Embedded
	private Auditoria auditoria;

	@ManyToOne( cascade = { CascadeType.ALL } )
	@JoinColumn(name="N_ID_FICHA", insertable=false, updatable=false)
    private FichaArbitral fichaArbitral;
	
	/**
	 * Metodo que permite obtener idHistEstado.
	 * @return idHistEstado , tipo Long.
	 */
	public Long getIdHistEstado() {
		return idHistEstado;
	}
	/**
	 * Permite actualizar idHistEstado.
	 * @param idHistEstado, tipo Long.
	 */
	public void setIdHistEstado(Long idHistEstado) {
		this.idHistEstado = idHistEstado;
	}
	/**
	 * Metodo que permite obtener idFicha.
	 * @return idFicha , tipo Long.
	 */
	public Long getIdFicha() {
		return idFicha;
	}
	/**
	 * Permite actualizar idFicha.
	 * @param idFicha, tipo Long.
	 */
	public void setIdFicha(Long idFicha) {
		this.idFicha = idFicha;
	}
	/**
	 * Metodo que permite obtener indVigente.
	 * @return indVigente , tipo Boolean.
	 */
	public Boolean getIndVigente() {
		return indVigente;
	}
	/**
	 * Permite actualizar indVigente.
	 * @param indVigente, tipo Boolean.
	 */
	public void setIndVigente(Boolean indVigente) {
		this.indVigente = indVigente;
	}
	/**
	 * Metodo que permite obtener idEstado.
	 * @return idEstado , tipo Long.
	 */
	public Long getIdEstado() {
		return idEstado;
	}
	/**
	 * Permite actualizar idEstado.
	 * @param idEstado, tipo Long.
	 */
	public void setIdEstado(Long idEstado) {
		this.idEstado = idEstado;
	}
	/**
	 * Metodo que permite obtener fecInicio.
	 * @return fecInicio , tipo Date.
	 */
	public Date getFecInicio() {
		return fecInicio;
	}
	/**
	 * Permite actualizar fecInicio.
	 * @param fecInicio, tipo Date.
	 */
	public void setFecInicio(Date fecInicio) {
		this.fecInicio = fecInicio;
	}
	/**
	 * Metodo que permite obtener fecFin.
	 * @return fecFin , tipo Date.
	 */
	public Date getFecFin() {
		return fecFin;
	}
	/**
	 * Permite actualizar fecFin.
	 * @param fecFin, tipo Date.
	 */
	public void setFecFin(Date fecFin) {
		this.fecFin = fecFin;
	}
	/**
	 * Metodo que permite obtener estado.
	 * @return estado , tipo Long.
	 */
	public Long getEstado() {
		return estado;
	}
	/**
	 * Permite actualizar estado.
	 * @param estado, tipo Long.
	 */
	public void setEstado(Long estado) {
		this.estado = estado;
	}
	/**
	 * Metodo que permite obtener auditoria.
	 * @return auditoria , tipo Auditoria.
	 */
	public Auditoria getAuditoria() {
		return auditoria;
	}
	/**
	 * Permite actualizar auditoria.
	 * @param auditoria, tipo Auditoria.
	 */
	public void setAuditoria(Auditoria auditoria) {
		this.auditoria = auditoria;
	}
	/**
	 * Metodo que permite obtener fichaArbitral.
	 * @return fichaArbitral , tipo FichaArbitral.
	 */
	public FichaArbitral getFichaArbitral() {
		return fichaArbitral;
	}
	/**
	 * Permite actualizar fichaArbitral.
	 * @param fichaArbitral, tipo FichaArbitral.
	 */
	public void setFichaArbitral(FichaArbitral fichaArbitral) {
		this.fichaArbitral = fichaArbitral;
	}
	/**
	 * Metodo que permite obtener idHistAnterior.
	 * @return idHistAnterior , tipo Long.
	 */
	public Long getIdHistAnterior() {
		return idHistAnterior;
	}
	/**
	 * Permite actualizar idHistAnterior.
	 * @param idHistAnterior, tipo Long.
	 */
	public void setIdHistAnterior(Long idHistAnterior) {
		this.idHistAnterior = idHistAnterior;
	}
	/**
	 * Metodo que permite obtener idIncidencia.
	 * @return idIncidencia , tipo Long.
	 */
	public Long getIdIncidencia() {
		return idIncidencia;
	}
	/**
	 * Permite actualizar idIncidencia.
	 * @param idIncidencia, tipo Long.
	 */
	public void setIdIncidencia(Long idIncidencia) {
		this.idIncidencia = idIncidencia;
	}

}


	